package com.info.zhiduoduo.repository.dto.crowdsource;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.info.zhiduoduo.common.utils.DateUtil;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 智众包项目
 * </p>
 *
 * @author bob
 * @since 2019-09-25
 */
@Data
@Accessors(chain = true)
public class CrowdsourceProjectDetailDto {

    /**
     * 智众包项目id
     */
    private Integer projectid;
    /**
     * 企业id
     */
    private Integer compid;
    private String compname;
    /**
     * 项目名
     */
    private String projectName;
    /**
     * 项目描述
     */
    private String projectDesc;
    /**
     * 发票内容
     */
    private String invoiceContent;
    /**
     * 项目总金额
     */
    private BigDecimal projectTotalAmount;
    /**
     * 项目保证金总金额
     */
    private BigDecimal depositTotalAmount;
    /**
     * 项目开票总金额
     */
    private BigDecimal projectTotalInvoiceAmount;
    /**
     * 项目总服务费
     */
    private BigDecimal projectTotalServiceCharge;
    /**
     * 项目总应付金额
     */
    private BigDecimal projectTotalPayableAmount;
    /**
     * 总参与人数
     */
    private Integer peopleCount;
    /**
     * 项目服务费率
     */
    private Double projectServiceRate;
    /**
     * 基础税率
     */
    private Double baseTaxRate;
    /**
     * 年度25万以下税率
     */
    private Double lowTaxRate;
    /**
     * 年度25万-75万税率
     */
    private Double highTaxRate;
    /**
     * 合伙人智众包佣金比例
     */
    private Double partnerBrokerageRate;
    @ApiModelProperty("支付方式Id")
    private Integer payId;
    @ApiModelProperty("支付方式名称")
    private String payName;
    @ApiModelProperty("运营主体ID")
    private Integer partyId;
    /**
     * 项目状态 1：新建 2：待付款 3：部分付款成功 4：全部付款完成 99：已废弃
     */
    private Integer state;
    /**
     * 是否是补录的已成交的项目 0:否 1:是
     */
    private Integer supplement;
    /**
     * 创建时间
     */
    private Date createtime;
    /**
     * 更新时间
     */
    private Date updatetime;

    /**
     * 一级经济分类
     */
    private String economicFirst;

    /**
     * 二级经济分类
     */
    private String economicSecond;
    /**
     * 众包发票开票时间
     */
    private Date starttime;
    /**
     * 众包发票完成时间
     */
    private Date finishtimes;

    @JsonFormat(pattern = DateUtil.FORMAT_STYLE_10, timezone = DateUtil.TIME_ZONE_CHINA)
    @ApiModelProperty("申请开票日期, 字符串日期格式: yyyy-MM")
    private Date applyInvoiceDate;

    @ApiModelProperty("招标类型 1：邀约 2：公开")
    private Integer bidType;
    @JsonFormat(pattern = DateUtil.FORMAT_STYLE_2)
    @ApiModelProperty("公开招标结束日期")
    private Date bidEnd;
    @JsonFormat(pattern = DateUtil.FORMAT_STYLE_2)
    @ApiModelProperty("公开招标项目完成截止日期")
    private Date bidProjectFinish;
    @ApiModelProperty("是否通知乙方上传交付物 0：否 1：是")
    private Integer notifyUploadDelivery;

    private List<CrowdsourceProjectItemDto> itemList;

}
